using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity.ModelConfiguration;

namespace QldtSdh.DAL.Models.Mapping
{
    public class CongViecBanGiangVienMap : EntityTypeConfiguration<CongViecBanGiangVien>
    {
        public CongViecBanGiangVienMap()
        {
            // Khoá chính
            this.HasKey(t => t.CongViecBanGiangVienGUID);

            // Các cột
            this.Property(t => t.MaGiangVien)
                .IsRequired()
                .HasMaxLength(50);

            this.Property(t => t.MaHocKyGUID)
                .IsRequired()
                .HasMaxLength(50);

            this.Property(t => t.TuNgay)
                .IsRequired();

            this.Property(t => t.DenNgay)
                .IsRequired();

            this.Property(t => t.Buoi)
                .IsRequired();

            this.Property(t => t.ThuTrongTuan)
                .IsRequired();

            this.Property(t => t.NoiDungBan)
                .IsRequired()
                .HasMaxLength(250);

            // Ánh xạ Property của POCO vào Column của Table
            this.ToTable("CongViecBanGiangVien");
            this.Property(t => t.CongViecBanGiangVienGUID).HasColumnName("CongViecBanGiangVienGUID");
            this.Property(t => t.MaGiangVien).HasColumnName("MaGiangVien");
            this.Property(t => t.MaHocKyGUID).HasColumnName("MaHocKyGUID");
            this.Property(t => t.TuNgay).HasColumnName("TuNgay");
            this.Property(t => t.DenNgay).HasColumnName("DenNgay");
            this.Property(t => t.Buoi).HasColumnName("Buoi");
            this.Property(t => t.ThuTrongTuan).HasColumnName("ThuTrongTuan");
            this.Property(t => t.NoiDungBan).HasColumnName("NoiDungBan");

            // Các quan hệ
        }
    }
}
